// ***********************************************************************
// *                                                                     *
// *                  Copyright (c) 1985-2022, AMI.                      *
// *                                                                     *
// *      All rights reserved. Subject to AMI licensing agreement.       *
// *                                                                     *
// ***********************************************************************
/**@file
 * This file contains the Watchdog Handling functions
 */

#ifndef WATCHDOG_H_
#define WATCHDOG_H_

#include <stdlib.h>
#include <stddef.h>
#include <string.h>

/**
 * Watchdog Interface
 */
struct WatchdogInterface {
	/**
	 * Function to Watchdog Feed.
	 *
	 * @param  Watchdog Interface
	 *
	 * @return 0
	 */
	int (*WatchdogFeed) ();

	/**
	 * Function to Watchdog Disable.
	 *
	 * @param  Watchdog Interface
	 *
	 * @return 0
	 */
	int (*WatchdogDisable) ();
};

int WatchdogInit(struct WatchdogInterface *Watchdog);

/**
 * Error codes that can be generated by a Window.
 */
enum {
	WATCHDOG_INVALID_ARGUMENT = 0x00                /**< Input parameter is null or not valid. */
};

#endif /* Watchdog_H_ */
